package cc.rengu.igas.momp.common.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.math.RoundingMode;

/**
 * 减免类营销活动金额数据
 *
 * @author Jinan Liu
 * @date 2020/4/14 21:26
 */

public class MoneyOffAmountData implements Serializable {

    /**
     * 机构编码
     */
    private String instId;
    /**
     * 营销活动编号
     */
    private String mcNo;
    /**
     * 满减商户清算方式
     */
    private String moneyOffSettlementMethod;
    /**
     * 营销活动类型
     */
    private String mcType;
    /**
     * 商户号
     */
    private String mchntNo;
    //活动状态
    private String mcStatus;

    /**
     * 营销活动起始日期
     */
    private String mcStartDate;
    /**
     * 营销活动截止日期
     */
    private String mcEndDate;

    /**
     * 补贴金额
     */
    String totalSubsidy;
    /**
     * 银行补贴金额
     */
    String bankSubsidy;
    /**
     * 商户补贴金额
     */
    String mchntSubsidy;

    /**
     * 营销活动信息-银行每商户最大优惠金额
     */
    private String bankDiscountLimitAmt;
    /**
     * 营销活动信息-每商户最大优惠金额
     */
    private String mchntDiscountLimitAmt;

    /**
     * 规则信息-顺序号
     */
    private String ruleIndex;
    /**
     * 规则信息-活动门槛
     */
    private String criteria;
    /**
     * 规则信息-优惠力度下限
     */
    private String discountFloor;
    /**
     * 规则信息-优惠力度上限
     */
    private String discountCelling;
    /**
     * 规则信息-总优惠数量
     */
    private String discountQuantity;
    /**
     * 规则信息-单次优惠限制
     */
    private String discountLimit;
    /**
     * 规则信息-优惠总预算
     */
    private String ruleBudget;
    /**
     * 规则信息-单日消耗预算
     */
    private String budgetDayLimit;

    /**
     * 营销活动累计-总预算累计消耗笔数
     */
    private String mcTotalQtyAcc;
    /**
     * 营销活动累计-总预算累计消耗金额
     */
    private String mcTotalAmtAcc;

    /**
     * 营销活动单日累计-总预算累计消耗笔数
     */
    private String dayTotalQtyAcc;
    /**
     * 营销活动单日累计-总预算累计消耗金额
     */
    private String dayTotalAmtAcc;

    /**
     * 营销活动商户累计-累计优惠笔数
     */
    private String mchntTotalQtyAcc;
    /**
     * 营销活动商户累计-累计优惠金额
     */
    private String mchntTotalAmtAcc;

    /**
     * 营销活动商户单日累计-累计优惠笔数
     */
    private String mchntDayTotalQtyAcc;
    /**
     * 营销活动商户单日累计-累计优惠金额
     */
    private String mchntDayTotalAmtAcc;
    //活动出资方
    private String sponsor;

    //优惠下限金额
    private String floorAmt;
    //优惠上限金额
    private String cellingAmt;

    /**
     * 营销活动级别
     */
    private String mcLvlCd;

    public String getInstId() {
        return instId;
    }

    public void setInstId(String instId) {
        this.instId = instId;
    }

    public String getMcNo() {
        return mcNo;
    }

    public void setMcNo(String mcNo) {
        this.mcNo = mcNo;
    }

    public String getMoneyOffSettlementMethod() {
        return moneyOffSettlementMethod;
    }

    public void setMoneyOffSettlementMethod(String moneyOffSettlementMethod) {
        this.moneyOffSettlementMethod = moneyOffSettlementMethod;
    }

    public String getMcType() {
        return mcType;
    }

    public void setMcType(String mcType) {
        this.mcType = mcType;
    }

    public String getMchntNo() {
        return mchntNo;
    }

    public void setMchntNo(String mchntNo) {
        this.mchntNo = mchntNo;
    }

    public String getMcStartDate() {
        return mcStartDate;
    }

    public void setMcStartDate(String mcStartDate) {
        this.mcStartDate = mcStartDate;
    }

    public String getMcEndDate() {
        return mcEndDate;
    }

    public void setMcEndDate(String mcEndDate) {
        this.mcEndDate = mcEndDate;
    }

    public String getTotalSubsidy() {
        return totalSubsidy;
    }

    public void setTotalSubsidy(String totalSubsidy) {
        this.totalSubsidy = totalSubsidy;
    }

    public String getBankSubsidy() {
        return bankSubsidy;
    }

    public void setBankSubsidy(String bankSubsidy) {
        this.bankSubsidy = bankSubsidy;
    }

    public String getMchntSubsidy() {
        return mchntSubsidy;
    }

    public void setMchntSubsidy(String mchntSubsidy) {
        this.mchntSubsidy = mchntSubsidy;
    }

    public String getBankDiscountLimitAmt() {
        return bankDiscountLimitAmt;
    }

    public void setBankDiscountLimitAmt(String bankDiscountLimitAmt) {
        this.bankDiscountLimitAmt = bankDiscountLimitAmt;
    }

    public String getMchntDiscountLimitAmt() {
        return mchntDiscountLimitAmt;
    }

    public void setMchntDiscountLimitAmt(String mchntDiscountLimitAmt) {
        this.mchntDiscountLimitAmt = mchntDiscountLimitAmt;
    }

    public String getRuleIndex() {
        return ruleIndex;
    }

    public void setRuleIndex(String ruleIndex) {
        this.ruleIndex = ruleIndex;
    }

    public String getCriteria() {
        return criteria;
    }

    public void setCriteria(String criteria) {
        this.criteria = criteria;
    }

    public String getDiscountFloor() {
        return discountFloor;
    }

    public void setDiscountFloor(String discountFloor) {
        this.discountFloor = discountFloor;
    }

    public String getDiscountCelling() {
        return discountCelling;
    }

    public void setDiscountCelling(String discountCelling) {
        this.discountCelling = discountCelling;
    }

    public String getDiscountQuantity() {
        return discountQuantity;
    }

    public void setDiscountQuantity(String discountQuantity) {
        this.discountQuantity = discountQuantity;
    }

    public String getDiscountLimit() {
        return discountLimit;
    }

    public void setDiscountLimit(String discountLimit) {
        this.discountLimit = discountLimit;
    }

    public String getRuleBudget() {
        return ruleBudget;
    }

    public void setRuleBudget(String ruleBudget) {
        this.ruleBudget = ruleBudget;
    }

    public String getBudgetDayLimit() {
        return budgetDayLimit;
    }

    public void setBudgetDayLimit(String budgetDayLimit) {
        this.budgetDayLimit = budgetDayLimit;
    }

    public String getMcTotalQtyAcc() {
        return mcTotalQtyAcc;
    }

    public void setMcTotalQtyAcc(String mcTotalQtyAcc) {
        this.mcTotalQtyAcc = mcTotalQtyAcc;
    }

    public String getMcTotalAmtAcc() {
        return mcTotalAmtAcc;
    }

    public void setMcTotalAmtAcc(String mcTotalAmtAcc) {
        this.mcTotalAmtAcc = mcTotalAmtAcc;
    }

    public String getDayTotalQtyAcc() {
        return dayTotalQtyAcc;
    }

    public void setDayTotalQtyAcc(String dayTotalQtyAcc) {
        this.dayTotalQtyAcc = dayTotalQtyAcc;
    }

    public String getDayTotalAmtAcc() {
        return dayTotalAmtAcc;
    }

    public void setDayTotalAmtAcc(String dayTotalAmtAcc) {
        this.dayTotalAmtAcc = dayTotalAmtAcc;
    }

    public String getMchntTotalQtyAcc() {
        return mchntTotalQtyAcc;
    }

    public void setMchntTotalQtyAcc(String mchntTotalQtyAcc) {
        this.mchntTotalQtyAcc = mchntTotalQtyAcc;
    }

    public String getMchntTotalAmtAcc() {
        return mchntTotalAmtAcc;
    }

    public void setMchntTotalAmtAcc(String mchntTotalAmtAcc) {
        this.mchntTotalAmtAcc = mchntTotalAmtAcc;
    }

    public String getMchntDayTotalQtyAcc() {
        return mchntDayTotalQtyAcc;
    }

    public void setMchntDayTotalQtyAcc(String mchntDayTotalQtyAcc) {
        this.mchntDayTotalQtyAcc = mchntDayTotalQtyAcc;
    }

    public String getMchntDayTotalAmtAcc() {
        return mchntDayTotalAmtAcc;
    }

    public void setMchntDayTotalAmtAcc(String mchntDayTotalAmtAcc) {
        this.mchntDayTotalAmtAcc = mchntDayTotalAmtAcc;
    }

    public BigDecimal getTotalSubsidyAmt() {
        return new BigDecimal(totalSubsidy).setScale(2, RoundingMode.HALF_UP);
    }

    public String getSponsor() {
        return sponsor;
    }

    public void setSponsor(String sponsor) {
        this.sponsor = sponsor;
    }

    public String getFloorAmt() {
        return floorAmt;
    }

    public void setFloorAmt(String floorAmt) {
        this.floorAmt = floorAmt;
    }

    public String getCellingAmt() {
        return cellingAmt;
    }

    public void setCellingAmt(String cellingAmt) {
        this.cellingAmt = cellingAmt;
    }

    public String getMcStatus() {
        return mcStatus;
    }

    public void setMcStatus(String mcStatus) {
        this.mcStatus = mcStatus;
    }

    public String getMcLvlCd() {
        return mcLvlCd;
    }

    public void setMcLvlCd(String mcLvlCd) {
        this.mcLvlCd = mcLvlCd;
    }
}
